home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1996 #14
/
Monster Media No. 14 (April 1996) (Monster Media, Inc.).ISO
/
pcboard
/
pcbck321.zip
/
PCBCHECK.DOC
< prev
next >
Wrap
Text File
|
1996-02-28
|
35KB
|
706 lines
PCBCheck Advanced Upload Checker
v.3.21 Feb 28, 1996
Jim Dahl
┌────────────────────────────┐
│ 1. Mission and conception │
└────────────────────────────┘
I created PCBCheck (mainly for in-house use) when I was first exposed to
the difficulty in setting up other PCBoard upload checkers. Creating a
SETUP.CNF file and putting 50 seperate pieces of information on different
lines in certain formats is not a nice way to set up a program! In fact,
any program other than a BBS utility, would fail miserably if it required
such an intricate setup. BBS utilities do not need to be so complicated to
setup!
Comments are very welcomed and bug reports are PROMPTLY addressed!
┌────────────────────────────┐
│ 2. Features │
└────────────────────────────┘
As mentioned above, I believe the main feature of the program is its
easy-to-use SETUP program! I also think PCBCheck has kind of a cool,
modern PCBoard 15.2 look that others lack. Specific functions are:
* Up to 10 user-configurable archivers, up to 5 user-configurable
virus scanners (auto-configuration for McAfee's SCAN and F-PROT)
* Easy-to-use SETUP program which dynamically adjusts its menus
based on your system setup, selected options, installed
archivers, etc... No wasted menu space, asks only those questions
which affect you! It even sets up your PCBTEST.BAT file for you!
* PCBCheck features advanced output which dynamically alters itself
based on the type of upload, tests to be performed, etc...
A few examples: When testing a GIF, a slot for resolution appears
in the space normally used by the 'testing embedded archives' slot;
when PCBCheck replaces the description with the FILE_ID.DIZ the
change is reflected on the line of the description displayed on the
screen, etc.... There will never be prompts which are irrelevant
to the current upload displayed.
* Flexible recognition criteria- using the 'allow unrecognized files',
'allow archives with non-standard extensions', and acceptable
non-archive extensions list (wildcards allowed) you can tailor
which uploads will be accepted to your specific needs.
General features and abilities include:
- FOSSIL, OS/2 comm. driver, and non-standard comm. port support
- age checking based on percentage of files newer than specified date
- scans embedded archives to any depth (as deep as path names allow)
- FILE_ID.DIZ importing (autocorrects invalid FILE_ID.DIZ descriptions)
- removes ANSI codes from descriptions
- virus scanning using your virus scanner
- GIF integrity scanning
- convert all recognized archives to single type
- can handle self-extracting archives
- recognize archives with non-standard extensions
- add file to archives
- remove specified files from archives
- check for bad 'keywords' in description to reject upload
- compare upload name to 'trashcan' list for rejection
- program or external errors noted in PCBCHECK.LOG
- can send mail to sysop to inform him of program or external errors
- add newest/oldest file dates and number of files to description
- add GIF resolution to description
- notify sysop by mail of uploads which may be virus infected
- special RAM disk support to speed up operation
- ability to use different background screens
- registered version allows sysop to have his BBS name in title bar
┌────────────────────────────┐
│ 3. Installation │
└────────────────────────────┘
PCBCheck should be installed in it's own directory, preferably close to
the root directory. DOS places limits on command and parameter lengths, and
PCBCheck can often come dangerously close to those limits while executing
complex archive/dearchive commands! Putting PCBCheck in a directory
directly off the root directory gives it more room to play with by
shortening the paths to PCBCheck data files.
When PCBoard wants an upload checked, it calls PCBTEST.BAT in its home
directory. SETUP will modify PCBTEST.BAT for you if it detects that
PCBTEST.BAT does not already run PCBCHECK and you tell it that it is
allowed to modify PCBTEST.BAT. Note that you may need to add a special
parameter yourself. The command line for PCBCheck reads:
X:\<your-path>\PCBCHECK.EXE %1 %2 %3 port
The optional parameter port (which SETUP leaves out by default) allows
you to specify an address for PCBCheck to use for serial output. The default
(nothing specified) is for PCBCheck to read PCBoard's PCBOARD.SYS to
determine the COM port number, and then the COM port number is converted to
its standard address. Particularly if you use COM3 or COM4 the address may
not be the default. Also, you must use the [port] option if you wish to
use a FOSSIL driver in lieu of the normal 8250 communications routines.
Pass '#F' where # is the FOSSIL port, for example, to access COM1 via a
FOSSIL driver you would pass '0F' as the port parameter (without the
quotation marks, of course). Note that PCBCheck should be able to read
the FOSSIL port number out of the PCBOARD.DAT, so you only need to pass
the port parameter in special exceptions.
Notice that the suggested PCBTEST.BAT does NOT change directories, rather
calls PCBCheck from the current directory. That is very important! The
reason is that PCBCheck looks for system files in that directory (PCBOARD.DAT
and PCBOARD.SYS).
Change directories to the PCBCheck directory you created earlier and run
SETUP. This document explains the various features of SETUP later.
I strongly recommend all PCBCheck users have SHARE installed (most BBS
computers already should). Note that OS/2 automatically provides file
sharing services. Also, adding PCBCheck to the path seems to help
some users.
┌────────────────────────────┐
│ 4. Running PCBCheck │
└────────────────────────────┘
As noted in Installing PCBCheck, SETUP pretty much sets everything up for
PCBCheck to run as the default upload processor for PCBoard. I will
detail the acceptable parameters and methods of running PCBCheck below for
reference.
PCBCHECK filename [method] [description file] [port]
The only required parameter is 'filename'. If you supply only 'filename',
PCBCheck will behave as if LOCAL were used for method. 'filename' should
be the filename to test (make sure it exists!) 'filename' can contain
wildcards (* or ?) which are interpreted by DOS using standard DOS wildcard
expansion.
'method' can be one of the following:
LOCAL - PCBCheck will scan the file, but will not attempt to do anything
with a description or COMM ports. This mode is used for local
testing of files (non-PCBoard related mode).
(user mode)
OFFLINE - PCBCheck will scan the file and generate a description file,
then move the file to the upload directory and register it with
PCBoard (offline uploads) This mode has basically the same
effect as uploading a file does, but offline (it checks the file,
then performs the PCBoard task of moving the file to the upload
directory and adding the description). This mode should only be
used from the PCBoard directory in which the PCBOARD.DAT and
PCBOARD.SYS are generated!
(user mode)
UPLOAD - PCBoard uses this mode to tell PCBCheck to scan the file,
including description processing and communications (normal
mode of operation for user or local uploads)
(PCBoard mode)
ATTACH - PCBoard uses this mode to tell PCBCheck that the description
is unimportant and that the file is not a public upload, rather
its in a message. PCBCheck will accept the upload even if it
is unrecognized.
(PCBoard mode)
TEST - PCBoard uses this mode to tell PCBCheck to test the file, not
do anything with the description
(PCboard mode)
'description file' is the location of the description file to be used,
this parameter is automatically passed by PCBoard, and should not be used
for user mode tests.
'port' specifies an optional non-standard address or FOSSIL port for
communications as described in Installation
PCBCheck will return 0 if the file passed, 1 if the file failed. Note that
PCBCheck also generates the file PCBPASS.TXT if the file passes and the
file PCBFAIL.TXT if the file fails (as required by PCBoard).
┌────────────────────────────┐
│ 5. Setup │
└────────────────────────────┘
5.0 Menu
The menu allows you to jump directly to any of the pages. Once in the
pages, you can move between them using Page Up and Page Down, or by
returning to the menu and selecting a different page.
5.1 Archive support
The archive support menu and pages allow to specify acceptable archiver
types. You will need to specify an archiver executable, dearchiver
executable (can be the same) and an extension associated with the archive
type.
You can also add parameters for various archiver operations. Set the
archive and dearchiver to operate in an unattended mode or suppress
prompts. Set the appropriate parameters to delete files, extract files,
and add comments where appropriate (the three defaults provide good
examples). The command line is assembled:
<Executable> <commands> filename <parameters>
Commands serve the same purpose as parameters, except they are inserted
before the filename instead of after it (some archivers care).
The archivers specified must be in the path while PCBCheck is executing for
them to be used.
5.2 Non-archive support
The non-archive support screen allows you to enter the extensions of
acceptable non-archives. You do not need to fill all or any of the fields,
though you cannot specify more than ten acceptable non-archive extensions.
Special files which have internal PCBCheck support, such as GIF files, must
still be specified here to clear the detection phase of PCBCheck! Self-
extracting archives in the form of EXE files are the only exceptions. They
are considered archives, so if the archiver support is enabled on the
appropriate page and self-extracting support is enabled on the miscellaneous
page, PCBCheck will accept self-extracting archives as EXEs. If you specify
EXE here, you will be telling PCBCheck to accept all executables.
Note that the wildcard '?' can be used in the extensions. For example,
'0??' would allow any files whose extension begins with 0. If you want
to allow ALL unrecognized uploads, however, use the accept unrecognized
uploads switch instead of '???', though they should be functionally
equivalent. Note that the '*' wildcard is not supported because it
would serve no purpose (a single or double question mark could, in all
situations, be substituted).
5.3 Recognition Criteria
NON-STANDARD EXTENSIONS: Setting this switch to 'yes' instructs PCBCheck
to accept archives whose extensions are non-standard (for example, a ZIP
file with an extension JIM. A ZIP file can never have an extension ARJ,
or other recognized archive extensions). This allows PCBCheck to perform
more thorough checking on certain files, but at a price. For uploads which
are truly unrecognized, PCBCheck will still have to check them, thereby
significantly increasing processing time. Note that the processing time
is a function of the activated archivers, so deactivate archives you won't
use to improve performance. Note also that if TXT is specified as an
acceptable non-archive extension, a ZIP file with a TXT extension will be
treated as a non-archive upload.
ALLOW UNRECOGNIZED UPLOADS: Setting this switch to 'yes' instructs PCBCheck
to accept uploads which make it through the detection process completely
unrecognized. Note this switch affects recognition criteria only. The
upload will still have to pass age inspection, virus checking and any
other specified tests.
ALLOW SELF-EXTRACTING ARCHIVES: This switch determines whether PCBCheck
will attempt to determine if EXE files are really archives. Note that if
non-standard extension recognition is active, this switch is redundant.
This feature has the same disadvantages as non-standard extension recognition.
USE TRASHCAN LIST: You can maintain a file, TRASHCAN.PCB, which contains a
list of filenames you don't want on your board. Note that if you're using
PC-DOS, MS-DOS or OS/2, SETUP will attempt to locate your system editor and
allow you to edit TRASHCAN.PCB from within SETUP! If it successfully locates
your editor, a prompt will appear below this choice instructing you to
'F2 to edit TRASHCAN.PCB'. Format instructions for TRASHCAN.PCB are located
in the sample file.
5.4 Description Editing / Restrictions (2 pages)
Most of these switches are self-explanatory. The first switch allows you
to specify that you want to allow ONLY uploads which contain a FILE_ID.DIZ
or other recognized description file. The next four switches allow
you to instruct PCBCheck to add the number of files in the archive, the
newest date of a file in the archive, the resolution of a GIF, and/or the
oldest date of a file in the archive to the description. You may choose
any combination of the above, and only those appropriate to the upload type
will be used.
The second page allows you to specify description modifying parameters to
clean up the descriptions. With all restrictions turned on, you will
effectively remove almost all non-textual characters, color codes, etc...
PCBCheck can remove ANSI codes (including color codes and keyboard
reprogramming codes), PCBoard @-codes (including color codes and some of
the more destructive @ codes such as HANGUP), |-color codes (not supported
by PCBoard, but sometimes found in FILE_ID.DIZ files), and ALL high
ASCII characters (removes borders and special symbols).
5.5 Supplemental Tests
MAX AGE and PERCENT NEWER:
Rather than use some complex algorithm to determine an average age, or just
use the newest file date, PCBCheck allows you to specify an age and a
percentage of files which must be newer than that age. For example, if
your percentage is set at 50% and two out of three files in the archive
are newer than the specified date, the upload will pass (66% are newer).
Note that you cannot specify 100%, rather use 99% to tell PCBCheck that
ALL files in the upload must be newer than the specified date. On the other
hand, use 1% to tell PCBCheck that if ANY file in the archive is newer than
the date the upload is acceptable (that has the same effect as most date
checking systems, checking only the newest date).
MINIMUM GIF RESOLUTION: Enter the minimum resolution (WIDTH, HEIGHT, COLORS)
for GIF images. Note that each GIF image must pass all three criteria.
CHECK FOR KEYWORDS: PCBCheck can scan the user-entered description for
keywords which you do not want to appear in your filebase. The keywords
are stored in KEYWORDS.PCB (the format is described in the sample file).
The same editing feature exists as with the TRASHCAN.PCB file described
above.
5.6 Virus Checking
You can specify up to 5 virus scanners. All specified scanners will be
used to test each upload, so you probably only want to specify one for
speed reasons.
Enter the name of a virus scanner executable in the leftmost blank (for
example: F-PROT.EXE). If you specify a recognized executable (F-PROT or
SCAN) SETUP will automatically populate the virus level and parameters
fields with the correct values (note the special exception on McAfee's
SCAN version 1). SETUP will also notify you if it cannot find the virus
scanner you specify.
You should specify virus scanning parameters to prevent the scanner from
displaying any text to the screen, scanning the MBR, or scanning RAM. It
should be instructed to scan subdirectories and operate in an unattended
mode if such options are available.
The virus level is the errorlevel the virus scanner will return if it
finds a virus. The virus level is tested for equality, not greater than
or less than the specified value.
5.7 Internal Operations
SUPPRESS REMOTE OUTPUT: You can tell PCBCheck not to display anything on
the remote screen.
RAMDISK: Specify the drive letter of your RAM disk here. Do not specify
a hard drive! The advantage of using this rather than simply putting
the RAM disk in the data path is that uploads which are too large for the
RAM disk then default back to the data path. PCBCheck should have the
RAM disk to itself or conflicts may result (though multiple copies of
PCBCheck shouldn't conflict with each other).
DATA PATH: Specify the data path PCBCheck should use for its 'work'
directory. It should be empty. If you specify a used or existing directory
you may lose data. I also recommend a directory very close to the root
directory, as it gives PCBCheck more room to work with. Note that the
data path should NEVER be on a RAM disk (see the section on RAMDISKs to
learn the proper method of using a RAM disk).
SCREEN FILE: Specifies the background for PCBCheck to use. Note that
the SCR files are NOT simple ANSI files, though they seem viewable as such!
They are not user editable (with regular ANSI editors, anyway). They contain,
in addition to other checksums, palette information for PCBCheck.
CALLER LOG (errors and messages): You can tell PCBCheck that any combination
of error reports and messages should be logged in the CALLER log (in
addition to normal logging/reporting by PCBCheck). Errors are error
conditions generated by PCBCheck which cause PCBCheck itself to fail.
Messages are messages generated by PCBCheck about uploaded files, including
reasons for upload failures.
5.8 Mail
NOTIFY SYSOP OF (condition): Specifying yes tells PCBCheck that it should
notify the sysop via PCBoard mail of the named condition. Note that
specifying 'yes' does not affect any of the other operations of PCBCheck,
for example, if you tell it to notify the sysop of program errors, PCBCheck
will still also note the error in PCBCHECK.LOG and on the screen.
NAME OF SYSOP: If the sysop is user "SYSOP" or if your board has multiple
sysops, this allows you to direct mail intended for the sysop in charge of
the file system to a person other than "SYSOP".
5.9 Privileged Users
PCBCheck's privileged users feature allows you to specify a group of users
who are exempt from certain upload restrictions. You can edit the
PRIVILEG.PCB file with your text editor, or from within SETUP if it can
find your editor. Put one name per line as per the examples in there
(feel free to remove the examples, unless you really want us to be
privileged users on your board).
5.10 Archive Modifying Features
PCBCheck can remove the comments from archives (of archive types which
support commenting). If you select 'yes' for replace comments, SETUP will
create a new prompt which requests the file with which to replace the
comment. You may either enter a filename of a file in the PCBCheck directory
or enter NUL (leaving the field blank will prompt SETUP to insert NUL) to
instruct PCBCheck to clear the comment.
REMOVE FILES FROM ARCHIVE: You can maintain a list of files which you
want PCBCheck to attempt to remove from archives. The list file must be
DELETE.PCB, which has the same editing features as TRASHCAN.PCB and
KEYWORDS.PCB described above (note the format for DELETE.PCB is described
in the sample file).
Why not recommended? You're modifying the original archive which I never
recommend because you may be violating security packets. Also you may
be removing a necessary file which just happened to have the same name as
a file on your 'hit list'.
ADD FILE TO ARCHIVE: You can specify a single file (in the PCBCheck
directory) to add to all incoming archives.
Why not recommended? In addition to being ANNOYING to have ads in files,
you are again modifying the archive which may destroy security information.
If people didn't use this feature, the remove files feature could also be
eliminated.
CONVERT ALL ARCHIVES TO ZIP: You can instruct PCBCheck to convert all
recognized uploaded archives to the ZIP compression format before posting.
Why not recommended? This is very STRONGLY not recommended, though it
may sound appealing to many sysops. It has the same flaws as ADD and DELETE
files named above, but has many more. First, the conversion is an inexact
science and may result in data loss (there's absolutely NO way to verify
that the conversion was correct other than visual inspection). Also, even
in a conversion which seemed to work, there may be data loss. For example,
converting an archive which is a ZIP made under OS/2 to an ARJ loses the
extended attributes (possibly rendering the files useless) though it is
completely undetectable (since it was decompressed under DOS rather than
OS/2). Similiar situations exist with security envelopes and other platforms.
┌────────────────────────────────────────┐
│ 6. Conference specific configurations │
└────────────────────────────────────────┘
PCBCheck now has the ability to have different configurations for
different conferences. (I realise you may not want to try the same
checking on archives in your Apple conference is in a regular conference,
or may want to insert a different comment, etc...) Unfortunately, this
was a very difficult feature to integrate with setup (I couldn't figure
out any way, actually), so the only way to do it is by hand (suggestions
are always welcome for improvements). SETUP creates PCBCHECK.INI, the
configuration file for the main board. Renaming it PCBCHECK.001 makes
it a configuration file for conference 1 (.002 for 2, etc....) So,
if I run a ten conference system, and want a special configuration for
conference 3, I would first run setup, enter the values for conference 3,
then rename PCBCHECK.INI PCBCHECK.003. I would then run SETUP again,
entering the values I wanted used everywhere else, and SETUP would save
it as PCBCHECK.INI (which is fine). If there is not a specific configuration
file for a conference, PCBCheck uses PCBCHECK.INI. PCBCHECK.INI is always
used for the main board.
┌────────────────────────────────────┐
│ 7. Multinode/Multitasking, etc... │
└────────────────────────────────────┘
Well, this is just about the same as running any other program on a
multinode system. It does open all files in share mode, and does construct
the 'temp directory' name based on the current node, so there should be no
conflict. I share a PCBTEST.BAT between nodes on my system and it works
fine.
PCBCheck should work just fine under multitasking OS's or shells. I
developed it and tested it exclusively on OS/2 Warp, so I *know* it works
there. I've also run it under Windows for the BBS. I can't think of any
reason it wouldn't work with DesqView then, except of course that it
doesn't give up timeslices (but really, when I'm writing a DOS program I
don't feel that it's my responsibility to give up timeslices, I think the
multitasking OS which multitasks DOS programs should do that!)
┌────────────┐
│ 8. Errors │
└────────────┘
Should PCBCheck itself fail in some way, it will automatically pass the
file and report to the user the error code number. It will also create a
file named PCBCHECK.LOG in the PCBCHECK directory which will note the error.
If so specified in SETUP, PCBCheck will also send mail to the sysop which
details the error. This list contains all known PCBCheck error codes which
should occur:
-1 Incorrect parameters
-2 Cannot access PCBOARD.SYS
-3 Cannot access PCBOARD.DAT
-4 Cannot access PCBCHECK.INI file
-5 Old/Invalid configuration (.INI) file in use
-6 Cannot access specified .SCR file
-7 Cannot open description file
-8 Cannot creat PCBPASS.TXT/PCBFAIL.TXT
-9 Cannot make work directory
-10 Cannot remove work directory
-11 Can't open the file to test
-12 Can't read from the (already open) file to test
-13 File to be tested does not exist
-14 Cannot open the FILE_ID.DIZ from the archive
-16 Cannot write to description file
-20 Cannot open/read a PCC file
-21 Cannot access trashcan file
-23 Invalid PCC or PCC cannot be read
-25 Invalid execute external process attempt
-26 Command is too long
-28 Cannot access keys file
-35 Non-zero error code returned by external process
-36 Old PCC in use
-37 Cannot access deletion list file
-38 Cannot access privileged user list file
Obviously, most of them deal with file access problems, which could be
related to access priveleges, file sharing or something similiar on your
system. The most likely user-addressable problems are:
-2 (cannot open PCBOARD.SYS)
Not being able to access PCBOARD.SYS probably means PCBTEST.BAT doesn't run
from the PCBoard directory (or changes directories), or else a PCBOARD.SYS
doesn't exist in the PCBoard directory. It could also be a sharing problem
It could also mean that your PCBTEST.BAT changes directories away from the
directory in which the PCBOARD.SYS and PCBOARD.DAT are generated.
-3 (cannot open PCBOARD.DAT)
Not being able to find PCBOARD.DAT could be a sharing problem.
It could also mean that your PCBTEST.BAT changes directories away from the
directory in which the PCBOARD.SYS and PCBOARD.DAT are generated.
-25 (can't find external process in path)
Make sure that all designated acceptable archivers are in the path
to fix a -25.
-26 (command too long)
The proper way to deal with a -26 is, as described earlier, relocate
the PCBCheck directory as close to the root as possible to make the
commands shorter.
-35 (external program error)
Note the external process which generated the error and its errorlevel.
Then, refer to the external program's documentation to determine what
the error means. The external process's errorlevel will be noted in
PCBCHECK.LOG. More than likely you either ran out of memory (read
special memory considerations) or out of disk space (you can set PCBoard
not to accept uploads that reduce disk space below a certain level,
i.e. 5 meg).
N/A appears on virus scanner line
Your chosen virus scanner is NOT in the path. To verify this, run SETUP,
and SETUP will tell you (directly below the line on which you enter the
name of the virus scanner) if the scanner is not in the path.
D:\PCBOARD\PRIVUPLD\FILE.ZIP not found -reported by PCBoard
Get PCBoard 15.1 or later if you want to use the 'convert archive types'
feature. Versions prior to 15.1 did not allow the renaming of files
during testing.
PCBCHECK.LOG, should PCBCheck need to create it, is a wealth of information
for error-solving. In addition to noting internal program errors (in
addition to the time/date/file on which the error occurred) it also notes
non-zero error levels as returned by archivers or virus scanning programs.
This allows you to catch errors such as SCAN running out of memory, which
otherwise be undetectable!
┌─────────────────┐
│ 9. Legal Stuff │
└─────────────────┘
This program, its look, feel, and its related documentation are copyrighted.
You may not reverse engineer, decompile, or disassemble the program. You
may not modify or translate the program or documentation without the written
consent of Jim Dahl.
This program is provided "as is" without any warranties (or conditions),
express or implied with respect to the program, including the implied
warranties (or conditions) of merchantability and fitness for a
particular purpose. The entire risk arising out of use or performance of
the program and documentation remains with you.
Some jurisdictions do not allow the exclusion of implied warranties, so the
above may not apply to you.
In no event will Jim Dahl be liable for any lost profits, lost savings,
incidental or indirect damages or other economic consequential damages,
even if Jim Dahl has been advised of the possibility of such damages. In
addition, Jim Dahl will be not be liable for any damages claimed by you
based on any third party claim.
Some jurisdictions do not allow the exclusion or limitation of
consequential or incidental damages, so the above may not apply to you.
┌─────────────────────────────┐
│ 10. Memory Considerations │
└─────────────────────────────┘
When you consider what PCBCheck does, you realize that at times there
are up to three programs running at any one time, and each of them demands
it be running in conventional memory. (PCBoard, PCBCheck, and a virus
scanner or archiver/dearchiver may be running). PCBoard 15.x (in its latest
incarnation as of this writing) consumes a whopping 248.3k when it shells
to a program, such as PCBCheck, which leaves (assuming a base of 600k) only
351.7k for the other two programs! Of course, your base free memory before
running PCBoard may be much lower than 600k. PCBCheck does it's part by
swapping itself to XMS/EMS/disk, reducing it's kernel in active memory to
a mere 1.7K (it's not getting any smaller). Unfortunately, some programs,
such as McAfee's virus scanner, require more conventional memory than this
leaves (McAfee's SCAN requires 380k -- note that there is a new version
of McAfee's SCAN out called SCAN 2.0 which decreases the memory
requirement).
Since obviously PCBCheck cannot reduce it's memory requirements any
further, it is up to you to setup PCBoard so it swaps more of itself out
before shelling to PCBTEST.BAT to free up more memory. Another option is
to use low-memory programs. I personally recommend F-PROT as a virus
scanner (it is free, and has lower memory requirements).
Note- if a program such as SCAN runs out of memory, it will not crash
PCBCheck, rather it will cause PCBCheck to always report files as 'clean',
thereby possibly allowing viruses to slip through! If an archiver runs
out of memory, it will fail the upload. All errorlevels, for virus scanning
and archiving/dearchiving, are noted in the PCBCheck log file, so you should
be able to catch "out of memory" errors by referring to the log regularly
(or if there are problems).
If you get "Out of Memory" return codes from shelled applications,
In System Setup, under Configuration Options, then Configuration Switches,
set "swap during SHELL" to yes to free up more memory (at the cost of
slightly slower swapping).
The bottom line to memory considerations is get PCBoard for OS/2. Each
shelled program gets its own VDM with 640k of RAM.
┌────────────────────────────┐
│ 11. Registration/Shareware │
└────────────────────────────┘
As I'm sure most Sysops know, shareware is not a type of program but a
distribution method. If you continue to use my product you are obligated,
morally and legally, to pay me for it. Therefore, I don't disable any cool
features, or even make promises of neat new features or extra utility or
maintenance programs if you register. I want to give you the full program
so you know what you're really dealing with, and if you don't think it's
worth paying for (which is fine with me) I expect you to quit using it. Note
that the amount of work I put into PCBCheck is directly proportional to
registrations received. When I receive registrations, I can justify putting
large amounts of time into new, advanced features. Think of your
registration as funding future releases.
Until you register, PCBCheck will pause after each time you use it, to
remind you that it is unregistered. For your evaluation convenience the
pause will only be 5 seconds when you are using PCBCheck locally, but
will be 10 seconds when your users upload.
One registration does, of course, entitle you to use all future releases.
The main advantage of registering PCBCheck (in addition to encouraging
me to keep improving it) is that you will eliminate the delay and the
title bar will say "PCBCheck - Your BBS Name" instead of "PCBCheck -
Unregistered".
Registration is currently set at $20.
You can register either by filling out the REGISTER.DOC and mailing it to
the given address or you can register online at the Eagle BBS.
┌─────────────────────────────────────────────────────┐
│ 12. Future plans / rumors / possibilities / vapour │
└─────────────────────────────────────────────────────┘
PCBCheck will soon gain duplicate checking. It will not be part
of the base product - rather an addon which requires separate registration.
I'm still playing with an OS/2 version, though the DOS version is tweaked
to run under OS/2 such that the OS/2 version actually runs a little slower,
so I'm working on some true OS/2 features - threading, etc...
┌────────────────────────────────────────────────────────┐
│ 13. Where to complain / how to compliment the author │
└────────────────────────────────────────────────────────┘
I can be reached at:
Eagle BBS (218) 773-6011 (home of PCBCheck)
Legal Eagle is where I will continue to alpha test
PCBCheck, and will continue to provide support. Also,
I can field mail addressed to 'SYSOP' on this board.
(note join conference 21)
Internet dahl@Agassiz.CAS.UND.NoDak.edu
FIDOnet Jim Dahl@1:2808/17 (pretty slow way to reach me)
And of course, write to me at:
Jim Dahl
RE: PCBCheck
2236 Springbrook Ct.
Grand Forks, ND 58201
-----------------------------------------------------------------------------
New versions can always be obtained from Salt Air or from the above BBS.
They are FREQable as PCBCHECK from 1:2808/17 (not as reliable as downloading)
You can also get the latest version of PCBCheck plus PCBCheck information
at http://www.cs.und.nodak.edu/~dahl/pcbcheck
Registrations (currently $20) taken at:
Jim Dahl
RE: PCBCheck
2236 Springbrook Ct.
Grand Forks, ND 58201
Or to register online using your credit card:
Call (218) 773-6011
Once logged on type ORDER and follow the prompts
If you register online you immediately receive key information online. If
you register via US mail a key will have to be sent to you electronically
or via US Mail (slow!)